// 课程详情页面的模拟数据

// 模拟课程任务项数据
export const mockSubitems = {
  // 课程ID为1的任务项
  1: [
    {
      id: 1,
      title: 'Vue 3 基础概念介绍',
      body: '学习Vue 3的基本架构和核心概念，包括响应式原理和组合式API的使用方法。通过本任务项，你将了解Vue 3与Vue 2的主要区别，以及为什么Vue 3性能更好。',
      addedTime: new Date(Date.now() - 86400000 * 2).toISOString(), // 2天前
      authorName: '张老师'
    },
    {
      id: 2,
      title: '组件化开发实践',
      body: '掌握Vue 3组件开发技巧，包括props、emits、slots等内容。通过实际案例学习如何设计可复用的组件，以及如何在组件间传递数据和事件。',
      addedTime: new Date(Date.now() - 86400000).toISOString(), // 1天前
      authorName: '张老师'
    },
    {
      id: 3,
      title: 'Vue Router 路由管理',
      body: '深入学习Vue Router 4的使用方法，包括路由配置、嵌套路由、路由守卫等高级特性。通过本任务项，你将学会如何构建单页应用的路由系统。',
      addedTime: new Date().toISOString(),
      authorName: '张老师'
    }
  ],
  // 课程ID为2的任务项
  2: [
    {
      id: 4,
      title: 'React 基础入门',
      body: '学习React的基本概念和开发方式，包括JSX语法、组件生命周期和状态管理。通过简单的示例，了解React的声明式UI和组件化思想。',
      addedTime: new Date(Date.now() - 86400000 * 3).toISOString(), // 3天前
      authorName: '李老师'
    },
    {
      id: 5,
      title: 'React Hooks 实战',
      body: '深入学习React Hooks，包括useState、useEffect、useContext等常用钩子。通过实际案例，掌握如何使用Hooks替代类组件的生命周期方法。',
      addedTime: new Date(Date.now() - 86400000).toISOString(), // 1天前
      authorName: '李老师'
    },
    {
      id: 6,
      title: '状态管理解决方案',
      body: '比较不同的React状态管理方案，包括Context API、Redux、MobX等。学习如何根据项目需求选择合适的状态管理工具。',
      addedTime: new Date().toISOString(),
      authorName: '李老师'
    }
  ]
};

// 模拟课程评价数据
export const mockComments = {
  // 课程ID为1的评价
  1: [
    {
      id: 1,
      body: '张老师的课程非常棒，讲解清晰，实例丰富，对我帮助很大！',
      userid: 101,
      username: '王同学',
      addedTime: new Date(Date.now() - 86400000 * 5).toISOString() // 5天前
    },
    {
      id: 2,
      body: 'Vue 3的新特性确实很强大，尤其是组合式API，让代码组织更加清晰了。',
      userid: 102,
      username: '李同学',
      addedTime: new Date(Date.now() - 86400000 * 3).toISOString() // 3天前
    },
    {
      id: 3,
      body: '期待后续课程内容，希望能讲解更多项目实战经验。',
      userid: 103,
      username: '赵同学',
      addedTime: new Date(Date.now() - 86400000).toISOString() // 1天前
    }
  ],
  // 课程ID为2的评价
  2: [
    {
      id: 4,
      body: '李老师的React课程深入浅出，很适合入门学习！',
      userid: 104,
      username: '刘同学',
      addedTime: new Date(Date.now() - 86400000 * 4).toISOString() // 4天前
    },
    {
      id: 5,
      body: 'Hooks部分的讲解非常细致，让我对React有了更深的理解。',
      userid: 105,
      username: '陈同学',
      addedTime: new Date(Date.now() - 86400000 * 2).toISOString() // 2天前
    }
  ]
};

// 获取指定课程的任务项
export const getMockSubitems = (courseId) => {
  return mockSubitems[courseId] || mockSubitems[1]; // 默认返回课程1的任务项
};

// 获取指定课程的评价
export const getMockComments = (courseId) => {
  return mockComments[courseId] || mockComments[1]; // 默认返回课程1的评价
};

// 模拟添加评论
export const addMockComment = (courseId, commentData) => {
  const newComment = {
    id: Date.now(), // 使用时间戳作为临时ID
    body: commentData.body,
    userid: commentData.userid,
    username: commentData.username || '匿名用户',
    addedTime: new Date().toISOString()
  };
  
  if (!mockComments[courseId]) {
    mockComments[courseId] = [];
  }
  
  mockComments[courseId].unshift(newComment); // 添加到数组开头
  return newComment;
};

// 模拟添加任务项
export const addMockSubitem = (courseId, subitemData) => {
  const newSubitem = {
    id: Date.now(), // 使用时间戳作为临时ID
    title: subitemData.title,
    body: subitemData.body,
    addedTime: new Date().toISOString(),
    authorName: subitemData.authorName || '匿名用户'
  };
  
  if (!mockSubitems[courseId]) {
    mockSubitems[courseId] = [];
  }
  
  mockSubitems[courseId].push(newSubitem); // 添加到数组末尾
  return newSubitem;
};

// 模拟课程数据
export const mockCourses = [
  {
    id: 1,
    title: 'Vue 3 实战开发',
    body: '本课程从零开始讲解Vue 3框架的使用，涵盖基础语法、组件开发、路由管理、状态管理等核心内容。通过实际项目案例，帮助学员快速掌握Vue 3开发技能。',
    categoryid: 1,
    categoryName: '前端开发',
    teachername: '张老师',
    startTime: new Date(Date.now() + 86400000 * 7).getTime(), // 7天后开始
    authorName: 'admin',
    addedTime: new Date(Date.now() - 86400000 * 10).toISOString() // 10天前创建
  },
  {
    id: 2,
    title: 'React 入门到精通',
    body: '本课程全面讲解React框架的核心概念和实战技巧，从基础到进阶，帮助学员系统掌握React开发技能。课程内容包括JSX语法、组件化开发、React Hooks、状态管理等。',
    categoryid: 1,
    categoryName: '前端开发',
    teachername: '李老师',
    startTime: new Date(Date.now() + 86400000 * 3).getTime(), // 3天后开始
    authorName: 'admin',
    addedTime: new Date(Date.now() - 86400000 * 5).toISOString() // 5天前创建
  }
];

// 获取模拟课程详情
export const getMockCourseById = (courseId) => {
  return mockCourses.find(course => course.id === parseInt(courseId)) || mockCourses[0]; // 默认返回第一个课程
};

// 导出供API使用的mock函数
export const getCourseSubitemsMock = (courseId) => getMockSubitems(courseId);
export const getCourseCommentsMock = (courseId) => getMockComments(courseId);
export const addCourseCommentMock = (courseId, commentData) => addMockComment(courseId, commentData);
export const getCourseByIdMock = (courseId) => getMockCourseById(courseId);
export const addCourseSubitemMock = (courseId, subitemData) => addMockSubitem(courseId, subitemData);